package com.huluobo.base.net

import com.huluobo.base.bean.Res
import com.huluobo.base.bean.Res2
import com.huluobo.base.bean.ShopBean
import okhttp3.RequestBody
import retrofit2.http.Body
import retrofit2.http.GET
import retrofit2.http.POST
import retrofit2.http.Query

/**
 *  Created by LC on 2024/11/15.
 */
interface ApiService {
    @POST(Const.URL_LOGIN)
    suspend fun login(@Body body: RequestBody): Res

    @POST(Const.URL_NEWS)
    suspend fun getAllNews(@Body body: RequestBody): Res

    @GET(Const.URL_GET_GOODS)
    suspend fun getGoods(
        @Query(Const.PARAM_CATEGORY_ID) categoryId: Int,
        @Query(Const.PARAM_CURRENT_PAGE) currentPage: Int,
        @Query(Const.PARAM_PAGE_SIZE) pageSize: Int
    ): Res2<List<ShopBean>>

    @POST(Const.URL_SIGN_START)
    suspend fun signStart(@Body body: RequestBody): Res

    @POST(Const.URL_SIGN_END)
    suspend fun signEnd(@Body body: RequestBody): Res

    @POST(Const.URL_SIGN_MONTH)
    suspend fun signMonth(@Body body: RequestBody): Res

    @POST(Const.URL_PARKING)
    suspend fun getAllParking(): Res

    @POST(Const.URL_DELETE_PARKING)
    suspend fun deleteParking(@Body body: RequestBody): Res

    @POST(Const.URL_GET_ALL_COLOR)
    suspend fun getAllColor(): Res

    @POST(Const.URL_ADD_PARKING)
    suspend fun addParking(@Body body: RequestBody): Res

    @POST(Const.URL_GET_ALL_REPAIR)
    suspend fun getAllRepair(): Res

    @POST(Const.URL_GET_ALL_VISITOR)
    suspend fun getAllVisitor(@Body body: RequestBody): Res

    @POST(Const.URL_ADD_VISITOR)
    suspend fun addVisitor(@Body body: RequestBody): Res

    @POST(Const.URL_DELETE_VISITOR)
    suspend fun deleteVisitor(@Body body: RequestBody): Res

    @POST(Const.URL_ADD_NEWS)
    suspend fun addNews(@Body body: RequestBody): Res

    @POST(Const.URL_GET_ALL_PATROL)
    suspend fun getAllPatrol(): Res

    @POST(Const.URL_ADD_PATROL)
    suspend fun addPatrol(@Body body: RequestBody): Res

    @POST(Const.URL_GET_ALL_POINT)
    suspend fun getAllPoint(): Res
}